package com.stx.crazyblog.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.stx.crazyblog.dao.UserDao;
import com.stx.crazyblog.entity.User;

public class UserQueryServlet extends HttpServlet{
//	相当于java类的身份证。主要用于版本控制。
//	serialVersionUID作用是序列化时保持版本的兼容性，即在版本升级时反序列化仍保持对象的唯一性。
	 private static final long  serialVersionUID = 1l;
//	 初始化用户DAO对象
	 UserDao dao = null;
/*
 * 初始化对象，将初始化DAO对象的方法防护init()方法中，并且确保dao只能创建一次
 * 
 * */	
	 public void init() throws ServletException{
//		 初始化dao对象
		 dao =new UserDao();
	 }
	/**
	`* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	 
	 protected void doGet(HttpServletRequest request,
				HttpServletResponse response) throws ServletException,IOException{
		 
		 doPost(request,response);
	 }
	 /**
	  * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	  *      response)
	  */	 
	 protected void doPost(HttpServletRequest request,
			 HttpServletResponse response) throws ServletException,IOException{
// 设置请求编码集为utf-8(避免中文乱码)
			request.setCharacterEncoding("utf-8");
//		 创建用户类数据视图对象(用于封装用户信息的查询条件)
		 User userParams = new User();
//		 从页面获取查询条件
//		 request.getParameter("")  条件未确定
			try {
//		调用dao中查询用户列表的方法，获得用户列表的集合
				List<User> userList = dao.queryUser(userParams);
//		将查询结果保存到request对象中
				request.setAttribute("userList", userList);
//		通过ServletContext对象获取RequestDispatcher对象
//		通过ServletContext对象获得的路径是 相对Web应用根的路径,即绝对路径.
				RequestDispatcher rd = getServletContext().getRequestDispatcher("/jsp/user/userList.jsp");
//		请求转发给用户信息列表(/jsp/user/userList.jsp)
				rd.forward(request, response);
			} catch (Exception e) {
				// TODO 自动生成的 catch 块
				e.printStackTrace();
			}
		
		}
	 
}
